Instructions

Answer the following questions and complete the exercises in RMarkdown. Please embed all of your code and push your final work to your repository. Your final lab report should be organized, clean, and run free from errors. Remember, you must remove the # for the included code chunks to run. Be sure to add your name to the author header above. For any included plots, make sure they are clearly labeled. You are free to use any plot type that you feel best communicates the results of your analysis.

Make sure to use the formatting conventions of RMarkdown to make your report neat and clean!

Load the libraries

library(qtl)
library(qtlcharts)
library(tidyverse)
library(ggmap)

1. We have a satellite collars on a number of different individuals and want to be able to quickly look at all of their recent movements at once. Please load all the data files from us_individual_collar_data and use for loop to create plots for all different individuals of the path they move on longitude and latitude.

us_individual_collar_files <- list.files("data/us_individual_collar_data", full.names = TRUE)
us_individual_collar_files
##  [1] "data/us_individual_collar_data/collar-data-A1-2016-02-26.txt" 
##  [2] "data/us_individual_collar_data/collar-data-B2-2016-02-26.txt" 
##  [3] "data/us_individual_collar_data/collar-data-C3-2016-02-26.txt" 
##  [4] "data/us_individual_collar_data/collar-data-D4-2016-02-26.txt" 
##  [5] "data/us_individual_collar_data/collar-data-E5-2016-02-26.txt" 
##  [6] "data/us_individual_collar_data/collar-data-F6-2016-02-26.txt" 
##  [7] "data/us_individual_collar_data/collar-data-G7-2016-02-26.txt" 
##  [8] "data/us_individual_collar_data/collar-data-H8-2016-02-26.txt" 
##  [9] "data/us_individual_collar_data/collar-data-I9-2016-02-26.txt" 
## [10] "data/us_individual_collar_data/collar-data-J10-2016-02-26.txt"
# only ggplot
for (i in 1:length(us_individual_collar_files)){
  us_individual_plots <- as.data.frame(read_csv(us_individual_collar_files[i]))
  print(
    ggplot(us_individual_plots, aes(x=long,y=lat))+
      geom_path()+
      geom_point()+
      labs(title = "Collar Data", x = "Longitude", y = "Latitude")
  )
}
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

2. Please load all the data files from us_individual_collar_data and combine all data into one data frame. Create a summary to show what is the maximum and minimum of recorded data points on longitude and latitude.

data_list <- lapply(us_individual_collar_files, read_csv)
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
us_collar_data_all <- bind_rows(data_list)
us_collar_data_all %>% 
  summarise(max_lat=max(lat),
            min_lat=min(lat),
            max_long=max(long),
            min_long=min(long))
## # A tibble: 1 x 4
##   max_lat min_lat max_long min_long
##     <dbl>   <dbl>    <dbl>    <dbl>
## 1    41.6    26.6    -106.    -123.

3. Use the range of the latitude and longitude from Q2 to build an appropriate bounding box for your map and load a map from stamen in a terrain style projection and display the map. Then, build a final map that overlays the recorded path from Q1.

lat <- c(26.6116, 41.58802)
long <- c(-122.6017, -106.3343)
bbox <- make_bbox(long, lat, f = 0.5)
map <- get_map(bbox, maptype = "terrain", source = "stamen")
## Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.
ggmap(map)

lat <- c(26.6116, 41.58802)
long <- c(-122.6017, -106.3343)
bbox <- make_bbox(long, lat, f = 0.5)
    map <- get_map(bbox, maptype = "terrain", source = "stamen")
## Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.
for (i in 1:length(us_individual_collar_files)){
  us_individual_plots <- as.data.frame(read_csv(us_individual_collar_files[i]))
  print(
    ggmap(map)+
      geom_path(data = us_individual_plots, aes(long,lat))+
      geom_point(data = us_individual_plots, aes(long,lat))+
      labs(title = "Collar Data", x = "Longitude", y = "Latitude")
  )
}
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   date = col_date(format = ""),
##   collar = col_character(),
##   time = col_datetime(format = ""),
##   lat = col_double(),
##   long = col_double()
## )

Load the Data

We will use the data from an experiment on hypertension in the mouse Sugiyama et al., Genomics 71:70-77, 2001

#?hyper
data(hyper)

4. Create a summary of the hypertension data. How many individuals and phenotypes are included in this data set? How many gene markers and chromosomes are included in this data set? Please create a table to show the number of markers on each chromosome.

summary(hyper)
##     Backcross
## 
##     No. individuals:    250 
## 
##     No. phenotypes:     2 
##     Percent phenotyped: 100 100 
## 
##     No. chromosomes:    20 
##         Autosomes:      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
##         X chr:          X 
## 
##     Total markers:      174 
##     No. markers:        22 8 6 20 14 11 7 6 5 5 14 5 5 5 11 6 12 4 4 4 
##     Percent genotyped:  47.7 
##     Genotypes (%):    
##           Autosomes:    BB:50.1  BA:49.9 
##        X chromosome:    BY:53.0  AY:47.0
nmar(hyper)
##  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  X 
## 22  8  6 20 14 11  7  6  5  5 14  5  5  5 11  6 12  4  4  4

5. Please make an interactive genetic map of markers for the hypertension data.

iplotMap(hyper)
## Set screen size to height=700 x width=1000

6. Make a plot that shows the pattern of missing genotype data in the hypertension dataset. Please reorder the recorded individuals according to their blood pressure phenotypes. Is there a specific pattern of missing genotype? Please explain it. Yes, researchers may sometimes only genotype individuals with extreme phenotypes.

hyper$pheno
##        bp  sex
## 1   109.6 male
## 2   109.8 male
## 3   110.1 male
## 4   110.6 male
## 5   115.0 male
## 6   109.8 male
## 7   114.4 male
## 8   113.4 male
## 9   113.8 male
## 10  113.1 male
## 11  120.8 male
## 12  110.9 male
## 13  112.2 male
## 14  110.4 male
## 15  111.9 male
## 16  113.3 male
## 17  114.3 male
## 18  113.8 male
## 19  118.3 male
## 20  110.8 male
## 21  109.5 male
## 22  111.6 male
## 23  113.2 male
## 24  115.7 male
## 25  109.5 male
## 26  112.6 male
## 27  119.7 male
## 28  122.6 male
## 29  118.0 male
## 30  116.3 male
## 31  110.2 male
## 32  119.3 male
## 33  110.7 male
## 34  109.9 male
## 35  128.0 male
## 36  116.1 male
## 37  119.6 male
## 38  118.7 male
## 39  109.6 male
## 40  112.2 male
## 41  109.5 male
## 42  118.1 male
## 43  110.2 male
## 44  119.3 male
## 45  116.2 male
## 46  113.4 male
## 47   89.3 male
## 48   88.2 male
## 49   93.3 male
## 50   84.8 male
## 51   92.1 male
## 52   93.2 male
## 53   91.0 male
## 54   88.8 male
## 55   89.0 male
## 56   92.6 male
## 57   92.0 male
## 58   84.1 male
## 59   92.7 male
## 60   88.3 male
## 61   85.6 male
## 62   86.3 male
## 63   91.9 male
## 64   87.4 male
## 65   92.9 male
## 66   91.0 male
## 67   90.2 male
## 68   90.3 male
## 69   88.5 male
## 70   91.0 male
## 71   88.4 male
## 72   88.8 male
## 73   91.7 male
## 74   93.1 male
## 75   89.3 male
## 76   88.8 male
## 77   88.9 male
## 78   92.8 male
## 79   92.3 male
## 80   89.6 male
## 81   93.3 male
## 82   91.1 male
## 83   93.2 male
## 84   92.7 male
## 85   92.4 male
## 86   91.6 male
## 87   82.7 male
## 88   93.5 male
## 89   87.8 male
## 90   92.3 male
## 91   90.3 male
## 92   93.5 male
## 93  107.1 male
## 94   96.1 male
## 95   96.8 male
## 96   95.1 male
## 97   94.6 male
## 98  105.9 male
## 99   96.8 male
## 100 106.0 male
## 101 107.1 male
## 102  96.0 male
## 103 104.3 male
## 104 100.0 male
## 105 109.4 male
## 106 108.5 male
## 107  98.2 male
## 108  97.7 male
## 109 102.7 male
## 110 106.2 male
## 111 100.2 male
## 112  93.8 male
## 113 102.7 male
## 114 102.4 male
## 115 106.1 male
## 116  95.4 male
## 117 106.5 male
## 118  96.9 male
## 119  94.2 male
## 120  94.5 male
## 121  97.8 male
## 122 101.8 male
## 123 104.5 male
## 124 104.8 male
## 125  96.0 male
## 126  97.5 male
## 127 101.2 male
## 128  95.6 male
## 129 101.7 male
## 130 102.6 male
## 131  97.4 male
## 132  95.0 male
## 133  97.0 male
## 134  96.6 male
## 135 102.2 male
## 136 105.5 male
## 137 100.1 male
## 138  96.3 male
## 139  96.5 male
## 140 107.0 male
## 141  97.2 male
## 142  98.2 male
## 143 105.5 male
## 144 100.3 male
## 145  94.4 male
## 146 104.9 male
## 147  96.4 male
## 148 103.1 male
## 149 104.1 male
## 150 109.2 male
## 151  94.1 male
## 152  98.7 male
## 153 103.4 male
## 154  99.5 male
## 155 101.2 male
## 156  99.4 male
## 157 105.7 male
## 158  98.9 male
## 159  98.6 male
## 160  99.0 male
## 161 105.9 male
## 162 102.3 male
## 163 102.8 male
## 164 101.7 male
## 165 105.8 male
## 166  99.0 male
## 167  95.7 male
## 168  94.7 male
## 169 107.5 male
## 170 105.0 male
## 171  94.1 male
## 172 108.7 male
## 173  98.1 male
## 174 104.9 male
## 175  95.1 male
## 176  94.7 male
## 177 108.6 male
## 178  97.6 male
## 179  96.7 male
## 180  96.0 male
## 181 107.7 male
## 182  96.9 male
## 183  96.0 male
## 184  99.5 male
## 185 100.6 male
## 186 100.5 male
## 187 103.6 male
## 188 107.6 male
## 189  99.5 male
## 190 101.1 male
## 191  96.1 male
## 192 103.7 male
## 193  95.5 male
## 194  94.3 male
## 195 107.5 male
## 196 102.7 male
## 197  96.6 male
## 198 105.9 male
## 199 101.6 male
## 200 105.6 male
## 201 102.0 male
## 202 105.9 male
## 203 102.3 male
## 204 105.2 male
## 205 103.3 male
## 206 105.6 male
## 207  96.4 male
## 208  98.2 male
## 209 103.4 male
## 210  93.8 male
## 211 104.1 male
## 212  95.3 male
## 213  96.9 male
## 214 107.6 male
## 215 107.3 male
## 216 103.3 male
## 217  99.6 male
## 218 107.5 male
## 219  95.1 male
## 220  98.1 male
## 221 106.6 male
## 222 100.6 male
## 223  98.7 male
## 224  97.5 male
## 225 100.7 male
## 226 100.0 male
## 227 106.7 male
## 228 108.2 male
## 229 106.7 male
## 230 105.4 male
## 231 103.0 male
## 232  96.6 male
## 233 108.7 male
## 234 108.7 male
## 235 107.2 male
## 236 101.2 male
## 237  98.4 male
## 238 105.8 male
## 239 109.1 male
## 240  95.1 male
## 241 104.3 male
## 242 101.6 male
## 243  95.6 male
## 244 109.2 male
## 245 109.3 male
## 246  98.8 male
## 247 116.2 male
## 248 100.8 male
## 249 106.7 male
## 250  98.5 male
plotMissing(hyper, main="")

plotMissing(hyper, main="", reorder=1)

7. Based on your answer from previous question, you probably noticed that there are gene markers without data. Please use the function drop.nullmarkers to remove markers that have no genotype data. After this, make a new summary to show the number of markers on each chromosome. How many gene markers were dropped? Where were the dropped markers located? Please use the data without nullmarkers for the following questions. One gene marker was dropped from chromosome 14.

hyper_new <- drop.nullmarkers(hyper)
hyper_new
##   This is an object of class "cross".
##   It is too complex to print, so we provide just this summary.
##     Backcross
## 
##     No. individuals:    250 
## 
##     No. phenotypes:     2 
##     Percent phenotyped: 100 100 
## 
##     No. chromosomes:    20 
##         Autosomes:      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
##         X chr:          X 
## 
##     Total markers:      173 
##     No. markers:        22 8 6 20 14 11 7 6 5 5 14 5 5 4 11 6 12 4 4 4 
##     Percent genotyped:  48 
##     Genotypes (%):    
##           Autosomes:    BB:50.1  BA:49.9 
##        X chromosome:    BY:53.0  AY:47.0
nmar(hyper_new)
##  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  X 
## 22  8  6 20 14 11  7  6  5  5 14  5  5  4 11  6 12  4  4  4

8. Please conduct single-QTL analysis and create a table to give the maximum LOD score on each chromosome based on their blood pressure phenotypes. Which gene marker has the highest LOD score? Which chromosome contains the gene marker that has the highest LOD score? Then, creates an interactive chart with LOD curves from a genome scan for all chromosomes. Chromosome 4 has the gene marker (D4Mit164) with the highest LOD score.

hyper_new <- calc.genoprob(hyper_new, step=1) #1centimorgan is being used 
out.em <- scanone(hyper_new) #looks at the first phenotype by default
#out.em2 <- scanone(hyper, pheno.col=1:3) is used for data with more than 1 phenot and enables you to select columns of interest
summary(out.em)
##           chr  pos   lod
## c1.loc45    1 48.3 3.529
## c2.loc45    2 52.7 1.612
## c3.loc33    3 35.2 0.784
## D4Mit164    4 29.5 8.094
## c5.loc68    5 68.0 1.554
## c6.loc23    6 23.0 1.862
## D7Mit297    7 26.2 0.400
## D8Mit271    8 59.0 0.791
## D9Mit18     9 68.9 0.750
## c10.loc8   10 10.2 0.261
## c11.loc36  11 38.2 0.668
## D12Mit37   12  1.1 0.429
## D13Mit78   13 59.0 0.313
## D14Mit7    14 52.5 0.106
## c15.loc14  15 19.5 1.730
## D16Mit70   16 51.4 0.370
## D17Mit46   17  3.3 0.207
## D18Mit17   18 14.2 0.506
## D19Mit59   19  0.0 0.792
## cX.loc38    X 39.1 0.998
summary(out.em, threshold=8)
##          chr  pos  lod
## D4Mit164   4 29.5 8.09
iplotScanone(out.em)

9. Based on your genome scan results, create a table which only includes those chromosomes with LOD > 1. Creates an interactive chart with LOD curves linked to estimated QTL effects for only those chromosomes with LOD > 1. Find the gene maker with the highest LOD score and describe how does the genetype of this marker influence the individual’s phenotype. The gene marker with the highest LOD score is D4Mit164. The chart demonstrates that the BB genotype is strongly associated with higher blood pressure, whereas BA is not.

summary(out.em, threshold=1)
##           chr  pos  lod
## c1.loc45    1 48.3 3.53
## c2.loc45    2 52.7 1.61
## D4Mit164    4 29.5 8.09
## c5.loc68    5 68.0 1.55
## c6.loc23    6 23.0 1.86
## c15.loc14  15 19.5 1.73
iplotScanone(out.em, hyper_new, chr=c(1,2,4,5,6,15))

10. Please save your interactive chart from Q9 as a html file hyper_iplotScanone.html and make sure your upload it to your github repository with your lab14 homework as well.

hyper_plot <- iplotScanone(out.em, hyper_new, chr=c(1,2,4,5,6,15))
htmlwidgets::saveWidget(hyper_plot, file="hyper_iplotScanone.html")

Push your final code to GitHub!

Please be sure that you check the keep md file in the knit preferences.